package com.jintoufs.dao.hotel;

import java.util.List;
import java.util.Map;

import com.jintoufs.dao.QueryFilters;
import com.jintoufs.domain.hotel.Hotel;
import com.jintoufs.domain.hotel.HotelExample;
import com.jintoufs.domain.hotel.HotelRoom;
import org.apache.ibatis.annotations.Param;

public interface HotelMapper {
    int countByExample(HotelExample example);

    int deleteByExample(HotelExample example);

    int deleteByPrimaryKey(String id);

    int insert(Hotel record);

    int insertSelective(Hotel record);

    List<Hotel> selectByExample(HotelExample example);

    Hotel selectByPrimaryKey(String id);

    int updateByExampleSelective(@Param("record") Hotel record, @Param("example") HotelExample example);

    int updateByExample(@Param("record") Hotel record, @Param("example") HotelExample example);

    int updateByPrimaryKeySelective(Hotel record);

    int updateByPrimaryKey(Hotel record);

    /**
     * 根基参查询
     * 用于供应商后台
     */
    List<Map<String,Object>> queryByParams(Map<String, Object> params);

    /**
     * 根基参查询
     * 用于微信接口
     */
    List<Map<String,Object>> selectByParams(Map<String, Object> params);

    /**
     * 根据条件查询
     *
     * @param filters 属性列表，过滤存在的属性值
     */
    List<Map<String,Object>> getByFilter(QueryFilters filters);

    List<HotelRoom> getRoomList(String hotelId);

    List<Map<String,Object>> findByHotel(Map<String, Object> params);

    Map<String,Object> queryByPrimaryKey(String id);

    Integer getTotalCount();

    Map<String,Object> getOnePriceOnHotel(String hotelId);
}